package sort;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

public class TestArrayList {

	public static void main(String[] args) {
		Map<Integer, ArrayList<Integer>> map = new HashMap<Integer, ArrayList<Integer>>();
		ArrayList<Integer> a = new ArrayList<Integer>();
		a.add(1);
		a.add(2);
		a.add(3);
		a.add(4);
		map.put(0, a);

		ArrayList<Integer> b = new ArrayList<Integer>();
		b.add(1);
		b.add(2);
		map.put(1, b);

		ArrayList<Integer> c = new ArrayList<Integer>();
		c.add(1);
		c.add(2);
		c.add(3);
		map.put(2, c);

		List<Entry<Integer, ArrayList<Integer>>> list = new ArrayList<Entry<Integer, ArrayList<Integer>>>(
				map.entrySet());

		Collections.sort(list, new Comparator<Map.Entry<Integer, ArrayList<Integer>>>() {
			public int compare(Map.Entry<Integer, ArrayList<Integer>> o1, Map.Entry<Integer, ArrayList<Integer>> o2) {
				return (o2.getValue().size() - o1.getValue().size());
			}
		});
		/**
		 * 输出
		 */
		
		Set<Integer> keys = map.keySet();
		Iterator<Integer> it = keys.iterator();
		while (it.hasNext()) {
			Integer key = it.next();//这里的k就是map中的key
			System.out.println(key + "-->" + map.get(key));//map.get(key)就是key对应的value
		}
	}
}
